home *** CD-ROM | disk | FTP | other *** search
Text File | 1989-08-22 | 2.9 KB | 56 lines | [TEXT/GEOL] |
- Item 0122005 2-Aug-89 14:24
-
- From: BURBECK.S Burbeck, Steve
-
- To: CHESLEY1 Chesley, Harry
-
- cc: MACAPP.CUP$ MacApp Interest List - Cupertino
-
- Sub: re building blocks
-
- Harry,
-
- Sorry it took so long to reply to your July 18 link on Whither MacApp. I
- printed it and it dissappeared into a pile that only just resurfaced.
-
- First, about expansion to the class library vs. improvements to the
- underpinnings and/or tools: Obviously both are vital. But my focus for the
- "Whither MacApp" discussion was on elevating general awareness of the need for
- increases to the MacApp team. As a broad generalization, only the MacApp team
- can do the underpinning work whereas additions to the class library can be done
- by others (and I gladly accept your offer to work on network building blocks).
-
- One might argue that some additions to the MacApp building blocks OUGHT to be
- the responsibility of groups outside the MacApp team. Consider a parallel with
- the writing of peripheral drivers. When a new hardware peripheral is built,
- the team that builds it, not the system engineering team, is usually expected
- to provide the drivers for it. This is both because the system engineers don't
- have the resources to write drivers for every new peripheral, but also because
- they don't necessarily have the detailed knowledge needed to write each driver.
- Similar resource and expertise issues arise with MacApp.
-
- There are some important points that would-be building block designers should
- keep in mind. MacApp building blocks are intended to be incorporated into our
- developer's products and are shipped with full source code. Therefore MacApp
- building blocks must be coded with the realization that developers may treat
- each and every line of code as "Apple's Approved Way to Do It." Developers
- will (perhaps uncritically) borrow techniques they see in our building blocks,
- and will likely cut and paste parts of the building block code hither and yon.
- Moreover, MacApp building blocks must be carefully designed for reusability --
- an art that few OOP programmers have mastered. Reusable building blocks are
- inevitably used for things never imagined by the original designer. Every
- latent inflexibility, weak point, hidden assumption and boundary condition in
- the code will be hit. This puts an extra burden on the designer, but also
- requires substantial documentation and testing efforts. Even if you and other
- volunteers were to do all the engineering of new building blocks, we still need
- additional tech pubs and testing resources that, at this moment, do not seem to
- be forthcoming.
-
- All that aside, I certainly want to encourage people in the many groups that
- are using MacApp to think in terms of contributing additional building blocks.
- The MacApp team can't possibly do all that is needed even if it doubled or
- trippled in size.
-
- Steve Burbeck
-
-